package zxs.sino.elite.hub.exception;

import lombok.Getter;

/**
 * 错误码和错误信息定义类
 * 1.错误码定义规则为5为数字
 * 2.前两位表示业务场景，最后三位表示错误码。例如:100001。10:通用001:系统未知
 * 异常
 * 3.维护错误码后需要维护错误描述，将他们定义为枚举形式
 * 错误码列表:
 * 10:通用
 *      001:参数格式校验
 *      002:短信验证频率太高
 * @author zhang
 */
@Getter
public enum BizCodeEnums {

    UNKNOW_EXCEPTION(10000, "系统未知异常"),
    VALID_EXCEPTION(10001, "参数格式验证失败"),
    SMS_CODE_EXCEPTION(10002, "验证码获取频率太高，请稍后再试"),
    TO_MANY_REQUEST(10003, "请求流量过大，请稍后再试"),

    IDEMPOTENT_TOKEN_CREATE_EXCEPTION(10004, "令牌创建失败"),
    IDEMPOTENT_TOKEN_VERIFY_EXCEPTION(10005, "令牌校验失败"),

    MAIL_SEND_EXCEPTION(10006, "短信验证码发送失败"),
    CODE_EXPIRED_EXCEPTION(10007, "验证码失效"),
    CODE_ERROR_EXCEPTION(10008, "验证码错误"),
    LOGIN_PASSWORD_EXCEPTION(10009, "账号或密码错误"),
    ACCOUNT_LOCKED_EXCEPTION(10010, "账号已被锁定,请联系管理员"),
    ARTICLE_GET_EXCEPTION(11001, "文章获取失败"),
    ARTICLE_PUBLISH_EXCEPTION(11002, "文章发布失败"),
    ARTICLE_REVOKE_EXCEPTION(11003, "文章撤销失败");


    private final int code;
    private final String msg;

    BizCodeEnums(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

}
